package com.ctshk.rpc.custom.dto.trip;


import com.ctshk.rpc.custom.req.ContactReq;
import com.ctshk.rpc.custom.req.QuotationTouristTypeReq;
import com.ctshk.rpc.custom.req.quotation.CollectionFeeReq;
import com.ctshk.rpc.custom.req.quotation.FreeQuoteReqPackageReq;
import com.ctshk.rpc.custom.req.quotation.TripQuoteReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 定制包团下单信息dto
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-01-20
 */
@Data
@ApiModel(value="ScheduleOrderPageInfoDTO", description="定制包团下单信息dto")
public class ScheduleOrderPageInfoDTO implements Serializable {
    //团期详情
    @ApiModelProperty(value = "团号")
    private String tripNumber;
    @ApiModelProperty(value = "出境类型")
    private Integer departType;
    @ApiModelProperty(value = "行程名称")
    private String name;
    @ApiModelProperty(value = "行程副标题")
    private String subtitle;
    @ApiModelProperty(value = "目的地")
    private String destination;
    @ApiModelProperty(value = "出发地")
    private String departurePlace;
    @ApiModelProperty(value = "出发日期")
    private LocalDate departureDate;
    @ApiModelProperty(value = "出发日期星期几")
    private String departureWeekDay;
    @ApiModelProperty(value = "返回日期")
    private LocalDate returnDate;
    @ApiModelProperty(value = "出发日期星期几")
    private String returnWeekDay;
    @ApiModelProperty(value = "出行天数")
    private Integer travelDays;
    @ApiModelProperty(value = "含几晚")
    private Integer nightDays;
    @ApiModelProperty(value = "负责人ID")
    private Long chargePersonId;
    @ApiModelProperty(value = "大客户ID")
    private Long bigClientId;
    @ApiModelProperty(value = "大客户姓名")
    private String bigClientName;
    @ApiModelProperty(value = "负责人员工号")
    private String chargePersonNumber;
    @ApiModelProperty(value = "负责人姓名")
    private String chargePersonName;
    @ApiModelProperty(value = "负责人部门")
    private String chargePersonDept;
    @ApiModelProperty(value = "报价方式(1 自由报价2 行程报价)")
    private Integer quotationType;
    @ApiModelProperty(value = "团费类型冗余(1 人均,2 服务费)")
    private Integer groupFeeType;
    //询价单详情
    @ApiModelProperty(value = "客户类型(1 散客 2 大客户)")
    private Integer customerType;
    @ApiModelProperty(value = "联络人")
    private ContactReq contactReq;
    @ApiModelProperty(value = "联络人性别")
    private Long contactGender;
    @ApiModelProperty(value = "联系电话,json格式")
    private String contactTelephones;
    @ApiModelProperty(value = "联系邮箱")
    private String contactEmail;
    @ApiModelProperty(value = "内部备注")
    private String internalRemark;

    @ApiModelProperty(value = "套餐总费用")
    private BigDecimal totalAmount;
    @ApiModelProperty(value = "总人数")
    private Integer peopleNum;
    @ApiModelProperty(value = "总代收费用")
    private BigDecimal totalCollectionFee;
    @ApiModelProperty(value = "自由报价按服务项-总单价")
    private BigDecimal freeTotalSinglePrice;

    @ApiModelProperty(value = "代收费用数组")
    private List<CollectionFeeReq> collectionFees;
    @ApiModelProperty(value = "旅客人数数组-行程报价套餐里面的旅客")
    private List<QuotationTouristTypeReq> touristTypes;
    @ApiModelProperty(value = "自由报价套餐数组")
    private List<FreeQuoteReqPackageReq> reqPackages;
    @ApiModelProperty(value = "行程报价套餐数组")
    private List<TripQuoteReq> tripQuoteReqs;
    @ApiModelProperty(value = "行程报价总单价")
    private BigDecimal quoteTotalSinglePrice;
}
